// main.cpp
#include <pybind11/embed.h>
#include <iostream>

namespace py = pybind11;
int main()
{
    std::cout << "main" << std::endl;
    py::scoped_interpreter python;
    // 查看系统路径
    py::module sys = py::module::import("sys");
    sys.attr("path").attr("append")("D:/work/test/cpp/pybind_test/pym");
    py::print(sys.attr("path"));

    try
    {
        // 用import函数导入python模块
        auto module = py::module::import("calc");
        // 调用函数时要用attr（）进行类型转换
        py::object obj = module.attr("add")(1, 2);
        int result = obj.cast<int>();

        std::cout << result << std::endl;
    }
    catch (const std::exception &e)
    {
        std::cerr << e.what() << '\n';
    }

    return 0;
}
